package sgt;

import org.apache.storm.utils.Utils;
import sgt.test.MakeUpBean;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

public class Test {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("b",2);
        map.put("a",7);
        map.put("c",4);
        System.out.println(map);
        map=sortResult(map);
        System.out.println(map);
        map.put("d",6);
//        System.out.println(map);
//        map=sortResult(map);
//        System.out.println(map);













//        Map<String,Integer> map = new TreeMap();
//        map.put("b",2);
//        map.put("a",3);
//        map.put("c",4);
//        System.out.println(map);
//        map=sortResult(map);
//        System.out.println(map);
//        map.put("e",6);
//        map.put("g",3);
//        map=sortResult(map);
//        System.out.println(map);
    }


    static class ValueComparator implements Comparator<String> {

        private Map<String, Integer> map;

        public ValueComparator(Map<String, Integer> map) {
            super();
            this.map = map;
        }

        @Override
        public int compare(String o1, String o2) {
//            if (map.get(o1)==null||map.get(o2)==null){
//                return 1;
//            }
            if (map.get(o1) > map.get(o2)) {
                return -1;
            } else {
                return 1;
            }
        }

    }

    private static Map<String, Integer> sortResult(Map<String, Integer> result) {
        Map<String, Integer> treeResult = new TreeMap<String, Integer>(new ValueComparator(result));
        treeResult.putAll(result);
        return treeResult;
    }










//    static class ValueComparator implements Comparator<String> {
//
//        private Map<String, Integer> map;
//
//        public ValueComparator(Map<String, Integer> map) {
//            super();
//            this.map = map;
//        }
//
//        @Override
//        public int compare(String o1, String o2) {
//            if (map.get(o1)==null){
//                return 1;
//            }
//            if (map.get(o1) > map.get(o2)) {
//                return -1;
//            } else {
//                return 1;
//            }
//        }
//
//    }
//
//    private static TreeMap<String, Integer> sortResult(Map<String, Integer> result) {
//        TreeMap<String, Integer> treeResult = new TreeMap<String, Integer>(new ValueComparator(result));
//        treeResult.putAll(result);
//        return treeResult;
//    }


}
